package io.geekidea.boot.test.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.geekidea.boot.framework.page.Paging;
import io.geekidea.boot.test.dto.GradesDto;
import io.geekidea.boot.test.entity.Grades;
import io.geekidea.boot.test.query.GradesQuery;
import io.geekidea.boot.test.vo.GradesVo;
import io.geekidea.boot.test.query.AppGradesQuery;
import io.geekidea.boot.test.vo.AppGradesVo;


/**
 *  服务接口
 *
 * @author geekidea
 * @since 2025-02-19
 */
public interface GradesService extends IService<Grades> {

    /**
     * 添加
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addGrades(GradesDto dto);

    /**
     * 修改
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateGrades(GradesDto dto);

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteGrades(Long id);

    /**
     * 详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    GradesVo getGradesById(Long id);

    /**
     * 分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<GradesVo> getGradesPage(GradesQuery query);

    /**
     * Appnull详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppGradesVo getAppGradesById(Long id);

    /**
     * Appnull分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppGradesVo> getAppGradesPage(AppGradesQuery query);

}
